package com.aviator.detective.execute.listener;

import com.aviator.detective.execute.event.RuleExecuteCompleteEvent;
import com.aviator.detective.execute.event.RuleExecuteErrorEvent;
import com.aviator.detective.execute.event.RuleExecuteStartEvent;
import com.aviator.detective.execute.eventbus.AllAllowConcurrentEvents;
import com.aviator.detective.execute.eventbus.AllSubscribe;

@AllSubscribe
@AllAllowConcurrentEvents
public interface RuleExecuteListener extends Listener{

    void beforeRuleExecute(RuleExecuteStartEvent event);

    void afterRuleExecute(RuleExecuteCompleteEvent event);

    void ruleExecuteError(RuleExecuteErrorEvent event);
}
